﻿using NPOI.XWPF.UserModel;
using sdk_cop;
using System;
using System.Runtime.Serialization;
namespace JindaTech.Api.Controllers.Icbc
{
    public class IcbcOrderQryRequest : AbstractIcbcRequest<IcbcResponse>
    { /// <summary>
      /// 获取响应类
      /// </summary>
      /// <returns>页面类型的服务返回null</returns>
        public override Type getResponseClass()
        {
            return null;
        }
        /// <summary>
        /// PersonalSignVersifyRequestV1类的构造函数
        /// 设置请求URL
        /// </summary>
        public IcbcOrderQryRequest()
        {
            this.getExtraParams().Add("interfaceName", "ICBC_PEEBANK_CERTVERIFY_NEW");
            //this.setServiceUrl("https://gw.open.icbc.com.cn/api/cardbusiness/aggregatepay/b2c/online/orderqry/V1");
        }
        /// <summary>
        /// 是否支持加密（目前sdk只支持对字段进行AES加解密）
        /// </summary>
        /// <returns>一般返回false</returns>
        public override Boolean isNeedEncrypt()
        {
            return false;
        }
        /// <summary>
        /// http发起请求方式（支持GET、POST两种方式）
        /// </summary>
        /// <returns>一般返回POST</returns>
        public override String getMethod()
        {
            return "POST";
        }
        /// <summary>
        /// 获取业务类类型
        /// </summary>
        /// <returns>返回request类内部定义的BizContent类的类型</returns>
	    public override Type getBizContentClass()
        {
            return Type.GetType("JindaTech.Api.Controllers.Icbc" + ".IcbcOrderQryRequest+IcbcOrderQryRequestBiz", true, true);
        }      

        /// <summary>
        /// 内部业务类，封装需要发送给服务端的业务字段
        /// </summary>
        [DataContract]
        public class IcbcOrderQryRequestBiz : BizContent
        {
            /// <summary>
            /// 商户编号
            /// </summary>
            [DataMember]
            private string mer_id;
            public string getMerId()
            {
                return mer_id;
            }
            public void setMerId(string value)
            {
                mer_id = value;
            }

            /// <summary>
            /// 商户订单号，只能是数字、大小写字母，且在同一个商户号下唯一，商户订单号或工行订单号必输其一
            /// </summary>
            [DataMember]
            private string out_trade_no;
            public string getOutTradeNo()
            {
                return out_trade_no;
            }
            public void setOutTradeNo(string value)
            {
                out_trade_no = value;
            }

            /// <summary>
            /// 工行订单号，商户订单号或工行订单号必输其一
            /// </summary>
            [DataMember]
            private string order_id;
            public string getOrderId()
            {
                return order_id;
            }
            public void setOrderId(string value)
            {
                order_id = value;
            }

            /// <summary>
            /// 操作标志，0-查询；1-关单 2-关单（不支持二次支付）
            /// </summary>
            [DataMember]
            private string deal_flag;
            public string getDealFlag()
            {
                return deal_flag;
            }
            public void setDealFlag(string value)
            {
                deal_flag = value;
            }

            /// <summary>
            /// 工行API平台的APPID
            /// </summary>
            [DataMember]
            private string icbc_appid;
            public string getIcbcAppid()
            {
                return icbc_appid;
            }
            public void setIcbcAppid(string value)
            {
                icbc_appid = value;
            }


            /// <summary>
            /// 收单产品协议编号
            /// </summary>
            [DataMember]
            private string mer_prtcl_no;
            public string getMerPrtclNo()
            {
                return mer_prtcl_no;
            }
            public void setMerPrtclNo(string value)
            {
                mer_prtcl_no = value;
            }
          
        }
    }
}
